package modelo.seniales.carteles;

import modelo.carrera.Infraccion;
import modelo.geometria.Circunferencia;
import modelo.geometria.Vector;
import modelo.vehiculos.Vehiculo;

public class CirculacionExclusiva extends Cartel {

	private Vehiculo vehiculoPermitido;
	
	public CirculacionExclusiva(long identificador, Vector posicion, Vehiculo vehiculoPermitido) {
		super(identificador, new Circunferencia(posicion, 1));
		this.vehiculoPermitido = vehiculoPermitido;
	}
	
	@Override
	public boolean cumple(Vehiculo vehiculo) {
		if (vehiculo.getCuerpo().solapa(cuadra.getSuperficie()))
			return ( vehiculo.getClass().getName() == vehiculoPermitido.getClass().getName() );
		return false;
	}

	@Override
	public Infraccion obtenerInfraccion() {
			return Infraccion.infraccionCirculacionExclusiva();
	}
	
	public Vehiculo getVehiculoPermitido() {
		return vehiculoPermitido;
	}
	
}
